home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / animate / sysani32.cls < prev   
Text File  |  1996-03-27  |  2KB  |  56 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4. END
  5. Attribute VB_Name = "SysAnimate32"
  6. Attribute VB_Creatable = False
  7. Attribute VB_Exposed = False
  8. Option Explicit
  9.  
  10. Private Const ANIMATE_CLASS = "SysAnimate32" & vbNullChar
  11. Private Const WM_USER = &H400&
  12. Private Const ACS_CENTER = &H1&
  13. Private Const ACS_TRANSPARENT = &H2&
  14. Private Const ACS_AUTOPLAY = &H4&
  15. Private Const ACM_OPEN = WM_USER + 100
  16. Private Const ACM_PLAY = WM_USER + 101
  17. Private Const ACM_STOP = WM_USER + 102
  18. Private Const WS_EX_TRANSPARENT = &H20&
  19. Private Const WS_CHILD = &H40000000
  20. Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
  21. Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
  22. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  23.  
  24.  
  25. Private StaticHwnd As Long
  26. Private AnimateHwnd As Long
  27.  
  28.  
  29. Public Sub Create(ByVal hwnd As Long, ByVal Id As Variant, ByVal Left As Long, ByVal Top As Long, ByVal width As Long, ByVal height As Long)
  30.     StaticHwnd = CreateWindowEx(WS_EX_TRANSPARENT, "Static", vbNullString, &H50000003, Left, Top, width, height, hwnd, 0&, App.hInstance, ByVal 0&)
  31.     AnimateHwnd = CreateWindowEx(WS_EX_TRANSPARENT, ANIMATE_CLASS, vbNullString, &H50000003, 0, 0, width, height, StaticHwnd, 0&, App.hInstance, ByVal 0&)
  32.     If IsNumeric(Id) Then
  33.         SendMessage AnimateHwnd, ACM_OPEN, 0&, ByVal CLng(Id)
  34.     Else
  35.         SendMessage AnimateHwnd, ACM_OPEN, 0&, ByVal CStr(Id) & vbNullChar
  36.     End If
  37.  
  38. End Sub
  39.  
  40. Public Sub pPlay()
  41.     SendMessage AnimateHwnd, ACM_PLAY, -1&, ByVal &HFFFF0000
  42. End Sub
  43.  
  44. Public Sub pStop()
  45.     SendMessage AnimateHwnd, ACM_STOP, 0&, ByVal 0&
  46. End Sub
  47.  
  48. Public Sub Destroy()
  49.     Me.pStop
  50.     DestroyWindow AnimateHwnd
  51.     DestroyWindow StaticHwnd
  52. End Sub
  53.  
  54.  
  55.  
  56.